﻿using System;

namespace Manas.Silverlight
{
    public interface IConfiguration
    {
        int TileHeight { get; }

        int TileWidth { get; }

        long ImageHeight { get; }

        long ImageWidth { get; }
    }

    public class Configuration
    {
        public static IConfiguration Default
        {
            get
            {
                return new ConfigurationInstance
                {
                    TileHeight = 256,
                    TileWidth = 256,
                    ImageHeight = 1 << 14,
                    ImageWidth = 1 << 14
                };
            }
        }

        private class ConfigurationInstance : IConfiguration
        {
            public int TileHeight { get; set; }

            public int TileWidth { get; set; }

            public long ImageHeight { get; set; }

            public long ImageWidth { get; set; }
        }
    }   
}
